package vista;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Vector;

import javax.swing.JButton;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;

import modelo.CuentaView;
import modelo.MovimientoView;
import controlador.Banco;

public class ListadoMovimientos extends Listado {
	private CuentaView cuenta;

	public ListadoMovimientos(Banco banco, CuentaView cta) {
		super(banco);
		cuenta = cta;
		initListMovs();
	}

	private void initListMovs() {
		setTitle("Listado de Movmientos - Cuenta "
				+ Integer.toString(cuenta.getNro()));

		JTable tabla = new JTable(new DefaultTableModel(new Object[] { "Fecha",
				"Detalle", "Monto" }, 0));
		setTabla(tabla);

		llenarTablaMovimientos(getBanco().getMovimientosCta(cuenta.getNro()),
				tabla);
		tabla.setEnabled(false);

		JScrollPane scrollPane = new JScrollPane(tabla);
		setScrollPane(scrollPane);

		JButton botonSalir = new JButton();
		botonSalir.setText("Salir");
		botonSalir.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent evt) {
				dispose();
			}
		});

		getPanel().add(scrollPane);
	}

	private void llenarTablaMovimientos(Vector<MovimientoView> movimientosCta,
			JTable tabla) {
		DefaultTableModel modeloVista = (DefaultTableModel) tabla.getModel();

		for (int i = 0; i < movimientosCta.size(); i++) {
			modeloVista.addRow(new Object[] {
					movimientosCta.elementAt(i).getFecha().toString(),
					movimientosCta.elementAt(i).getDetalle(),
					Float.toString(movimientosCta.elementAt(i).getMonto()) });
		}
	}
}